/*
 * Tencent is pleased to support the open source community by making
 * 蓝鲸智云 - 配置平台 (BlueKing - Configuration System) available.
 * Copyright (C) 2017 Tencent. All rights reserved.
 * Licensed under the MIT License (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at http://opensource.org/licenses/MIT
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 * either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 * We undertake not to change the open source license (MIT license) applicable
 * to the current version of the project delivered to anyone in the future.
 */

package kafka

import "errors"

// Config kafka config
type Config struct {
	Brokers   []string
	GroupID   string
	Topic     string
	Partition int64
	User      string
	Password  string
}

// Check check kafka config
func (c *Config) Check() error {
	if c.Brokers == nil || len(c.Brokers) == 0 {
		return errors.New("can not find kafka brokers config")
	}

	if c.GroupID == "" {
		return errors.New("can not find kafka groupID config")
	}

	if c.Partition == 0 {
		return errors.New("can not find kafka partition config or value cannot be set to 0")
	}
	return nil
}
